mod_rewrite, ich raff`s einfach nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    also ein ^vor dem bla kann nicht schaden. sollte aber net für den fehler verantwortlich sein.

    da wo index.php steht müsste auch noch ein bla/ rein, weil du ja sonst im hauptverzeichnis landest.

    Nur funktioniert das so auch nicht
    ist ne besch. aussage. mach das mal konkret!!!

    Kommentar


    • #17
      Re: ...

      Hallo

      die Regel:

      Code:
      RewriteRule ^bla/index.html$ bla/index.php
      ergibt bei Aufruf der bla/index.html ein 404er

      Vielleicht liegt es auch in der Zusammenstellung der Regeln bzw. in der Reihenfolge von ihnen:
      Code:
      RewriteEngine On
      Options +FollowSymlinks
      RewriteBase /
      RewriteRule ^portal(.*).html$ portal.php 
      RewriteRule ^main(.*).html$ main.php
      RewriteRule ^index(.*).html$ index.php
      RewriteRule ^bla/index.html$ bla/index.php
      RewriteRule ^thread(.*)-(.*)-(.*).html$ thread.php?threadid=$1&boardid=$2styleid=$3
      RewriteRule ^thread(.*)-(.*).html$ thread.php?threadid=$1&boardid=$2
      Mit freundlichen Grüßen

      Karl Heinz

      Kommentar


      • #18
        RewriteEngine On
        RewriteRule ^bla/index.html$ /bla/index.php

        <- mit /

        Wenn das nicht geht, dann stimmt was mit deinen Pfaden nicht.
        Grüsse,
        Sebastian


        Profil Flex Freelancer
        Twitter twitter.com/flashhilfe
        Web Flash und Flex Community

        Kommentar


        • #19
          Hallo Sebastian W,

          ich habe nun mal die Regel in verschiedenen Ausführungen getestet, einmal so:

          Code:
          RewriteRule ^/bla/index.html$ bla/index.php
          dann so:
          Code:
          RewriteRule ^bla/index.html$ /bla/index.php
          und zu letzt so:
          Code:
          RewriteRule ^/bla/index.html$ /bla/index.php
          beim Aufruf vom Link:
          Code:
          http://www.abcdefgh/bla/index.php
          erhalte ich jeweils ein 404er, zuerst dachte ich das es was mit der Regel:
          Code:
          RewriteBase /
          zu tun haben würde aber das wäre Euch sicher aufgefallen das da was nicht stimmt. Abgesehen davon, können jetzt die Suchmaschienen meine Threads, die funktionieren ja mit mod_rewrite, lesen und indexieren? Mrhappiness sagte was von aufsplitten in der thread.php, wie ist das gemeint?
          Mit freundlichen Grüßen

          Karl Heinz

          Kommentar


          • #20
            das einzige was mir einfällt ist dass die suchmaschine solche link erst mal zu fassen bekommen muss ..
            keine ahnung welche board/foren - software du einsetzt .. noch weniger ahnung ob's möglich ist einzustellen wíe links nach aussen hin formatiert werden ..

            sonst müsstest du in der thread.php (und was sonst noch so zur darstellung gibt) mit php selbst nen rewriter schreiben .. und zwar in die suchmaschinenfreundliche form ..

            also preg_replace oder was durchlaufen lassen der nen link an ne funktion übergibt .. wär dann aber wieder brainstorming wie das anzustellen ist ..
            mfg,
            [color=#0080c0]Coragon[/color]

            Kommentar


            • #21
              @ Karl_Heinz

              Du hast also einen Ordner namen bla in der eine index.php liegt?
              Ok. Deine .htaccess sollte unterhalb von bla liegen.

              RewriteBase /
              benötigst du an der Stelle nicht.

              Teste es aber am besten noch mal so:
              RewriteRule ^index.html$ /index.php

              aufruf: http://domain.de/index.html

              Wenns dann wieder nen 404 gibt, frag mal bei deinem Webhoster nach ob alles richtig konfiguriert ist.
              Grüsse,
              Sebastian


              Profil Flex Freelancer
              Twitter twitter.com/flashhilfe
              Web Flash und Flex Community

              Kommentar


              • #22
                PHP-Code:
                RewriteEngine on
                Options 
                +FollowSymlinks
                RewriteBase 
                /
                RewriteRule ^portal.htmportal.php 
                RewriteRule 
                ^main.htmmain.php
                RewriteRule 
                ^index.htmindex.php
                RewriteRule 
                ^bla/index.htmbla/index.php
                RewriteRule 
                ^thread(.*)-(.*)-(.*).htmthread.php?threadid=$1&boardid=$2styleid=$3
                RewriteRule 
                ^threadb(.*)-(.*).htmlthread.php?threadid=$1&boardid=$[L
                Aufruf: deineseite.de/portal.htm
                geht nur wenn portal.php im root verzwichnis liegt.
                wichtig hierbei die Endung .htm statt .html siehe auch oben.



                dann thread darfste nur einmal benutzen für jede weitere Regel musste ein anderen Namen dafür nehmen.

                [L] ist nicht zwingend erforderlich, zeigt nur an das es die letzte Zeile ist. Es ist ein Leerschritt in der letzten rule dafür nötig (kein Umbruch).
                mfg
                marc75

                <Platz für anderes>

                Kommentar


                • #23
                  dann thread darfste nur einmal benutzen für jede weitere Regel musste ein anderen Namen dafür nehmen.
                  wieso eigentlich?

                  Kommentar


                  • #24
                    weil mod_rewrite den Unterschied

                    von theard1-2.htm
                    und theard1-2-3.htm

                    nicht erkennt.

                    (spreche da leider aus praktische Erfahrung, hatte das mit den gleichen Namen auch schon mal probiert)
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #25
                      Ganz sicher?

                      Hast du es mal so versucht?

                      RewriteRule ^thread([^-]+)-([^-\.]+)-([^\.]+)\.htm$ thread.php?threadid=$1&boardid=$2styleid=$3
                      RewriteRule ^thread([^-]+)-([^-\.]+)\.html$ thread.php?threadid=$1&boardid=$2 [L]
                      Zuletzt geändert von Sebastian W; 05.03.2004, 16:31.
                      Grüsse,
                      Sebastian


                      Profil Flex Freelancer
                      Twitter twitter.com/flashhilfe
                      Web Flash und Flex Community

                      Kommentar


                      • #26
                        ja hatte ich letztes jahr mal versucht bei mir.
                        mfg
                        marc75

                        <Platz für anderes>

                        Kommentar


                        • #27
                          Vielen, vielen Dank!

                          Hallo,

                          ersteinmal Danke, die Regeln sind nun, denke ich, alle da. Ich kann nun vom Portal und vom Board aus die thread.php Seiten alle aufrufen und auch andere .php Seiten in anderen, tieferen, Verzeichnissen. Es hat ja nur eine Regel gefehlt und zwar die für das tiefere Verzeichniss bla/index.php. Ich muss aber auch zugeben das es mein Fehler war das die eine Regel nicht funktionierte, ich Trottel habe das Verzeichnis bla/index genauso übernommen anstatt mein wirkliches Verzeichnis in meiner htacces zu übernehmen, tut mir wirklich Leid. Das kommt wohl davon wenn man es übertreibt und nicht zwischendurch mal eine Pause einlegt sonst sieht man den Wald vor lauter Bäumen nicht mehr

                          Was aber nicht funktionierte, mehrmals getestet, ist die Regel:
                          Code:
                          RewriteRule ^threadb(.*)-(.*).html$ thread.php?threadid=$1&boardid=$2 [L]
                          die beiden Regeln:
                          Code:
                          RewriteRule ^thread(.*)-(.*)-(.*).html$ thread.php?threadid=$1&boardid=$2styleid=$3
                          RewriteRule ^thread(.*)-(.*).html$ thread.php?threadid=$1&boardid=$2
                          funktionieren 1a und so habe ich sie dann auch in meiner htacces eingetragen und getestet, funktioniert. Vermutlich deswegen weil sie on der o.g. Reihenfolge gestellt wurden und sie sich deshalb nicht im Wege stehen. Dieser Thread hier hat mir innerhalb von einem Tag mehr gebracht alls alles andere was ich bisher rausfinden konnte, danke!

                          Zwischenfrage noch, wo liegt der Unterschied ob ich die Endung .htm und .html nehme?

                          Zu meiner Letzten Frage ob die Suchmaschienen nun meine Threads alle findet und indizieren kann habe ich bisher noch keine Antworten gefunden, ausser das man noch eine Datei schreiben muss bzw. in der Forensoft eine oder mehrer Dateien abändern muss, selber kann ich nicht coden, leider, aber die Forensoftware die wir einsetzen ist ein WBB 1.2 Board. Ich weiss aus eigener Erfahrung und bisherigen Suchen im Netz das es etliche versuchen das Board gut in den Suchmaschienen zu positionieren, wie das genau funktioniert habe ich leider bisher nicht rausfinden können, deshalb frage ich einfach mal hier. Wäre es besser dazu ein neuen Thread aufzumachen?
                          Mit freundlichen Grüßen

                          Karl Heinz

                          Kommentar


                          • #28
                            @marc: mod rewrite springt natürlich sofort wenn eine regel passt drauf an. dadurch musst du deine regeln natürlich sinnvoll struckturieren. erst die langen, dann die kurzen, dann klappts!

                            Kommentar


                            • #29
                              kann google auch die htaccess datei lesen?

                              also ich habe meine links von php in html umgewandelt, mit mod rewrite.

                              im browser steht aber immer noch die php datei, wenn ich auf meine buttons klicke

                              die html datei kann aber auch direkt eingeben werden, dann steht sie auch im browser

                              die frage: weiß google denn nun ob neben der php- datei auch die html vorhanden ist?

                              oder wie bekomme ich es hin, dass die html seite angezeigt wird, wenn ich auf die buttons klicke?

                              Kommentar


                              • #30
                                Du solltest dir vielleicht mal klar machen, was du überhaupt machst. du änderst keine dateien oder pfade.

                                du vergibst praktisch nur aliase. wenn der server mit foo/bar aufgerufen wird, dann sagt deine rule, dass eigentlich die datei foo.php?param=bar aufgerufen werden soll. als Beispiel.

                                Woher sollen deine Dateien (die htaccess ausgenommen) denn wissen, dass du irgendwelche zusätzlichen Pfade eingetragen hast??? Geht ja schlecht. Google kann das natürlich noch weniger wissen.

                                Kommentar

                                Lädt...
                                X